package com.skivingcloud.camunda.constants;

public class WorkflowConstants{
	public static final String WORKFLOW_BASE_URL = "workflow";
	
	/** 超级管理员ID */
	public static final String SUPER_ADMIN = "1";
	/** 超级管理员租户ID */
	public static final String SUPER_ADMIN_TENANT_ID = "1";
	/** 超级管理员角色ID */
	public static final String SUPER_ADMIN_ROLE_ID = "1";
	
	/**
	 * 流程参数（流程编码）名称
	 */
	public static final String PROCESS_VARIABLE_APPROVE_NO = "approveNo";
	/**
	 * 流程参数（流程摘要）名称
	 */
	public static final String PROCESS_VARIABLE_BRIEF_REPORT = "briefReport";
	/**
	 * 流程参数（业务设计ID）名称
	 */
	public static final String PROCESS_VARIABLE_BUSINESS_DESIGNER_ID = "businessDesignerId";
	/**
	 * 流程参数（业务设计编码）名称
	 */
	public static final String PROCESS_VARIABLE_BUSINESS_DESIGNER_CODE = "businessDesignerCode";
	/**
	 * 常用的字符串常量名称：流程id
	 */
	public static final String COMMON_STR_NAME_PROCESS_ID = "processId";
	/**
	 * 常用的字符串常量名称：流程名称
	 */
	public static final String COMMON_STR_NAME_PROCESS_DEF_NAME = "processDefName";
	/**
	 * 常用的字符串常量名称：任务id
	 */
	public static final String COMMON_STR_NAME_TASK_ID = "taskId";
	/**
	 * 任务处理结果
	 */
	public enum ProcessResult {
		/**
		 *  退回
		 */
		BACK("0"),
		/**
		 * 同意
		 */
		AGREE("1"),
		/**
		 * 撤回
		 */
		RECALL("2"),
		/**
		 * 发起
		 */
		START("3"),
		/**
		 * 不同意
		 */
		DISAGREE("4"),
		/**
		 * 终止
		 */
		TERMINATE("5"),
		/**
		 * 结束
		 */
		COMPLETE("9");
		
		private final String value;
		
		ProcessResult(String value){
			this.value = value;
		}
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 任务处理情况
	 */
	public enum  ProcessRecordState {
		/**
		 * 处理中
		 */
		PROCESSING("0"),
		/**
		 * 已处理
		 */
		PROCESSED("1");
		private final String value;
		ProcessRecordState(String value){
			this.value = value;
		}
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 流程处理结果
	 */
	public enum  ProcessInstanceState {
		/**
		 * 运行中
		 */
		RUN("0"),
		/**
		 * 已结束
		 */
		END("1"),
		/**
		 * 终止
		 */
		TERMINATED("2");
		private final String value;
		ProcessInstanceState(String value){
			this.value = value;
		}
		public String getValue() {
			return value;
		}
	}
	
	/**
	 * 流程状态
	 */
	public enum ProcessInstanceStateNew{
		/**
		 * 运行中
		 */
		ACTIVE,
		/**
		 * 挂起
		 */
		SUSPEND,
		/**
		 * 已结束
		 */
		COMPlETED,
		/**
		 * 终止
		 */
		INTERNALLY_TERMINATED
	}
	
	public enum TaskSign{
		CHECK_OUT("1"),
		CHECK_IN("0");
		private final String value;
		TaskSign(String value){
			this.value = value;
		}
		public String getValue() {
			return value;
		}
	}
}
